package com.ruoyi.project.modules.interfaceGenerator.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.project.modules.interfaceGenerator.domain.InterfaceGenerator;
import com.ruoyi.project.modules.interfaceinfo.domain.InterfaceInfo;

/**
 * 接口数据格式信息Service接口
 * 
 * @author smallrain
 * @date 2022-07-14
 */
public interface IInterfaceGeneratorService 
{
    /**
     * 查询接口数据格式信息
     * 
     * @param interfaceId 接口数据格式信息主键
     * @return 接口数据格式信息
     */
    public InterfaceGenerator selectInterfaceGeneratorByInterfaceId(Long interfaceId);

    /**
     * 查询接口数据格式信息列表
     * 
     * @param interfaceGenerator 接口数据格式信息
     * @return 接口数据格式信息集合
     */
    public List<InterfaceGenerator> selectInterfaceGeneratorList(InterfaceGenerator interfaceGenerator);

    /**
     * 新增接口数据格式信息
     * 
     * @param interfaceGenerator 接口数据格式信息
     * @return 结果
     */
    public int insertInterfaceGenerator(InterfaceGenerator interfaceGenerator);

    /**
     * 修改接口数据格式信息
     * 
     * @param interfaceGenerator 接口数据格式信息
     * @return 结果
     */
    public int updateInterfaceGenerator(InterfaceGenerator interfaceGenerator);

    /**
     * 批量删除接口数据格式信息
     * 
     * @param interfaceIds 需要删除的接口数据格式信息主键集合
     * @return 结果
     */
    public int deleteInterfaceGeneratorByInterfaceIds(String interfaceIds);

    /**
     * 删除接口数据格式信息信息
     * 
     * @param interfaceId 接口数据格式信息主键
     * @return 结果
     */
    public int deleteInterfaceGeneratorByInterfaceId(Long interfaceId);

    List<Map<String, Object>> query(String interfaceName, String fbType, String isEditTest, String isTimingTask,String lifeCycle);

    void cacheDataByInterfaceId(InterfaceInfo interfaceInfo);

    public void saveOrUpdate(InterfaceInfo interfaceInfo);

    void generator(List<Long> interfaceIds);
}